package com.liliudong.template.common.dto.sys;

import com.liliudong.template.common.constant.SysRoleDataScopeEnum;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

/**
 * 角色新增和更新DTO
 *
 * @author ldli5
 * @classname SysRoleAddOrUpdateDTO
 * @date 2024/6/20-13:47
 */
@Data
public class SysRoleAddOrUpdateDTO {

	/**
	 * 数据权限类型 1仅本人 2本部门 3本部门及以下 4自定义范围 5全部数据
	 */
	@NotNull(message = "数据权限类型不能为空")
	private SysRoleDataScopeEnum dataScope;

	/**
	 * 角色名称
	 */
	@NotBlank(message = "角色名称不能为空")
	private String name;

	/**
	 * 权限标识符
	 */
	@NotBlank(message = "权限标识符不能为空")
	private String permission;

	/**
	 * 排序
	 */
	private Integer sort;

	/**
	 * 部门ID - 当权限类型为自定义范围时，需要选定部门
	 */
	private List<Long> deptIds;

	/**
	 * 菜单ID
	 */
	@NotNull(message = "菜单ID不能为空")
	private List<Long> menuIds;
}
